The requirements for a Dual In-Line Memory Module (DIMM) have been well established for a number of years. The Joint Electron Device Engineering Council (JEDEC), established originally in 1944 and given its current name in 1958, provides specifications for DIMM devices. As there are many different variants of DIMM devices, JEDEC has drafted many different standards for how DIMMs operate.
DIMMs connect to a DIMM slot connector and communicate with the host processor over memory channel address signal lines. The manner in which the host processor (and more particularly, the memory controller) and the DIMM communicate is also well established.
DIMMs are typically volatile memory. That is, the value in the memory cells needs to be refreshed periodically (the DIMM must be able to support a minimum refresh rate, again established by JEDEC), or the memory cells will lose the value stored therein.
In contrast to DIMMs, and more generally to volatile memory, Non-Volatile Memory (NVM) formats exist. NVM formats are able to retain the data values stored therein without required periodic refreshing. An example of a NVM format is NAND flash memory, often seen in Universal Serial Bus (USB) keys and Solid State Devices (SSDs).
NVM formats that may fit into a DIMM slot have been developed. But NVM formats operate according to different principals from DIMMs. For an NVM format to work in a DIMM socket, the NVM format must appear to the host processor and the memory controller as a DIMM. This creates some problems that must be resolved, as memory addressing in DIMMs operates differently than memory addressing in NVM formats.
A need remains for a way to resolve memory addressing and other issues in using NVM formats in DIMM slots.